82
Views

How to understand blockstack Authentication and Gaia

Experienceblockstack app store posted the article • 0 comments • 82 views • 2019-06-26 22:24 • data from similar tags

Blockstack authentication is a bearer token-based authentication system. From an app user’s perspective, login similar to third-party authentication techniques that they’re familiar with. For an app developer, the flow is unlike the typical client-server flow of centralized sign-in services such as OAuth. With Blockstack the authentication flow happens entirely client-side.
In this section, you get an overview of the authentication system and learn how Gaia fits into it.
 
Authentication and Gaia
 
A decentralized application (DApp) and the Blockstack Browser communicate during the authentication flow by passing back and forth two tokens. The requesting application sends the Blockstack Browser an authRequest token. Once a user approves a sign-in, the Blockstack Browser responds to the application with an authResponse token. These tokens are JSON Web Tokens, and they are passed via URL query strings.

When a user chooses to “Sign in with Blockstack” on your DApp, the redirectToSignIn()method sends the user to the Blockstack Browser. The browser responds with an authentication token and an app private key.
 

The app private key is application-specific. It is generated from the user’s identity address private key using the appDomain as input. This key is deterministic, meaning that for a given Blockstack ID and domain name, the same private key is generated each time. The app private key is securely shared with the app on each authentication and encrypted by the Blockstack Browser. The key serves three functions, it:
 
 
is used to create the credentials that give an app access to the Gaia hub storage bucket for that specific appis used in the end-to-end encryption of files stored for the app on the user’s Gaia hubserves as a cryptographic secret that apps can use to perform other cryptographic functions

When an application writes to a Gaia hub, the authentication token, key, and the data are passed to the Gaia hub.
 
 

 
The token ensures the DApp has the authorization to write to the hub on the user’s behalf.
 
 
 
  view all
Blockstack authentication is a bearer token-based authentication system. From an app user’s perspective, login similar to third-party authentication techniques that they’re familiar with. For an app developer, the flow is unlike the typical client-server flow of centralized sign-in services such as OAuth. With Blockstack the authentication flow happens entirely client-side.
In this section, you get an overview of the authentication system and learn how Gaia fits into it.
 
Authentication and Gaia
 
A decentralized application (DApp) and the Blockstack Browser communicate during the authentication flow by passing back and forth two tokens. The requesting application sends the Blockstack Browser an authRequest token. Once a user approves a sign-in, the Blockstack Browser responds to the application with an authResponse token. These tokens are JSON Web Tokens, and they are passed via URL query strings.

When a user chooses to “Sign in with Blockstack” on your DApp, the redirectToSignIn()method sends the user to the Blockstack Browser. The browser responds with an authentication token and an app private key.
 

The app private key is application-specific. It is generated from the user’s identity address private key using the appDomain as input. This key is deterministic, meaning that for a given Blockstack ID and domain name, the same private key is generated each time. The app private key is securely shared with the app on each authentication and encrypted by the Blockstack Browser. The key serves three functions, it:
 
 
  • is used to create the credentials that give an app access to the Gaia hub storage bucket for that specific app
  • is used in the end-to-end encryption of files stored for the app on the user’s Gaia hub
  • serves as a cryptographic secret that apps can use to perform other cryptographic functions


When an application writes to a Gaia hub, the authentication token, key, and the data are passed to the Gaia hub.
 
 

 
The token ensures the DApp has the authorization to write to the hub on the user’s behalf.
 
 
 
 
109
Views

how gaiahub work as a decentralized storage architecture

Experienceblockstack app store posted the article • 0 comments • 109 views • 2019-06-26 22:18 • data from similar tags

The Blockstack Network stores application data using a storage system called Gaia. Transactional metadata is stored on the Blockstack blockchain and user application data is stored in Gaia storage. Storing data off of the blockchain ensures that Blockstack applications can provide users with high performance and high availability for data reads and writes without introducing central trust parties.
 

Understand Gaia in the Blockstack architecture
User control or how is Gaia decentralized?
Understand data storage
Gaia versus other storage systems

 
Understand Gaia in the Blockstack architecture
 

 
 
 Blockchains require consensus among large numbers of people, so they can be slow. Additionally, a blockchain is not designed to hold a lot of data. This means using a blockchain for every bit of data a user might write and store is expensive. For example, imagine if an application were storing every tweet in the chain.
 
Blockstack addresses blockchain performance problems using a layered approach. At the base of the system is a blockchain and the Blockstack Naming System (BNS). The blockchain governs ownership of names (identities) in the system, names such as domain names, usernames, and application names.
 
Names in Blockstack correspond to routing data in the OSI stack. The routing data is stored in the Atlas Peer Network, the second layer. Every core node that joins the Blockstack Network is able to obtain an entire copy of this routing data. Blockstack uses the routing data to associate names (usernames, domains, and application names) with a particular storage location.
 
The final layer is the Gaia Storage System. A Gaia system consists of a hub service and storage resource on a cloud software provider such as Azure, DigitalOcean, Amazon EC2, and so forth. Typically the compute resource and the storage resource belong to same cloud vendor. Gaia currently has driver support for S3 and Azure Blob Storage, but the driver model allows for other backend support as well.
 
Because Gaia stores application and user data off the blockchain, a Blockstack DApp is typically more performant than DApps created on other blockchains. Moreover, users choose where their data lives, and Gaia enables applications to access that user data via a uniform API. When the user logs in, the authentication process gives the application the URL of a Gaia hub, which then writes to storage on behalf of that user.
 
User control or how is Gaia decentralized?
 
 
A Gaia hub runs as a service which writes to data storage. The hub service writes to data storage by requiring a valid authentication token from a requestor. Typically, the hub service runs on a compute resource and the storage itself on separate, dedicated storage resource. Typically, both resources belong to the same cloud computing provider.
 
 

 
 
 Gaia’s approach to decentralization focuses on user control of data and its storage. If a user can choose which Gaia hub provider to use, then that choice is all the decentralization required to enable user-controlled applications.
The control of user data lies in the way that user data is accessed. When an application fetches a file data.txt for a given user alice.id, the lookup will follow these steps:
 
1. Fetch the zonefile for alice.id.
2. Read her profile URL from her zonefile.
3. Fetch Alice’s profile.
4. Verify that the profile is signed by alice.id’s key
5. Read the gaiaHubUrl (e.g. https://gaia.alice.org/) out of the profile
6. Fetch the file from https://gaia.alice.org/data.txt.
 
Because alice.id has access to her zonefile, she can change where her profile is stored. For example, she may do this if the current profile’s service or storage is compromised. To change where her profile is stored, she changes her Gaia hub URL to another Gaia hub URL from another hub provider. If Alice has sufficient compute and storage resources herself, she may run her own Gaia Storage System and bypass a commercial Gaia hub provider all together.
 Note: Users with existing identities cannot yet migrate their data from one hub to another.
Applications writing directly on behalf of Alice do not need to perform a lookup. Instead, the Blockstack authentication flow provides Alice’s chosen application root URL to the application. This authentication flow is also within Alice’s control because Alice’s browser must generate the authentication response.
 
Understand data storage
 
A Gaia hub stores the written data exactly as given. It offers minimal guarantees about the data. It does not ensure that data is validly formatted, contains valid signatures, or is encrypted. Rather, the design philosophy is that these concerns are client-side concerns.

Client libraries (such as blockstack.js) are capable of providing these guarantees. Blockstack used a liberal definition of the end-to-end principle to guide this design decision.
 
 
 
 

 
  view all
The Blockstack Network stores application data using a storage system called Gaia. Transactional metadata is stored on the Blockstack blockchain and user application data is stored in Gaia storage. Storing data off of the blockchain ensures that Blockstack applications can provide users with high performance and high availability for data reads and writes without introducing central trust parties.
 


Understand Gaia in the Blockstack architecture
User control or how is Gaia decentralized?
Understand data storage
Gaia versus other storage systems


 
Understand Gaia in the Blockstack architecture
 

 
 
 Blockchains require consensus among large numbers of people, so they can be slow. Additionally, a blockchain is not designed to hold a lot of data. This means using a blockchain for every bit of data a user might write and store is expensive. For example, imagine if an application were storing every tweet in the chain.
 
Blockstack addresses blockchain performance problems using a layered approach. At the base of the system is a blockchain and the Blockstack Naming System (BNS). The blockchain governs ownership of names (identities) in the system, names such as domain names, usernames, and application names.
 
Names in Blockstack correspond to routing data in the OSI stack. The routing data is stored in the Atlas Peer Network, the second layer. Every core node that joins the Blockstack Network is able to obtain an entire copy of this routing data. Blockstack uses the routing data to associate names (usernames, domains, and application names) with a particular storage location.
 
The final layer is the Gaia Storage System. A Gaia system consists of a hub service and storage resource on a cloud software provider such as Azure, DigitalOcean, Amazon EC2, and so forth. Typically the compute resource and the storage resource belong to same cloud vendor. Gaia currently has driver support for S3 and Azure Blob Storage, but the driver model allows for other backend support as well.
 
Because Gaia stores application and user data off the blockchain, a Blockstack DApp is typically more performant than DApps created on other blockchains. Moreover, users choose where their data lives, and Gaia enables applications to access that user data via a uniform API. When the user logs in, the authentication process gives the application the URL of a Gaia hub, which then writes to storage on behalf of that user.
 
User control or how is Gaia decentralized?
 
 
A Gaia hub runs as a service which writes to data storage. The hub service writes to data storage by requiring a valid authentication token from a requestor. Typically, the hub service runs on a compute resource and the storage itself on separate, dedicated storage resource. Typically, both resources belong to the same cloud computing provider.
 
 

 
 
 Gaia’s approach to decentralization focuses on user control of data and its storage. If a user can choose which Gaia hub provider to use, then that choice is all the decentralization required to enable user-controlled applications.
The control of user data lies in the way that user data is accessed. When an application fetches a file data.txt for a given user alice.id, the lookup will follow these steps:
 
1. Fetch the zonefile for alice.id.
2. Read her profile URL from her zonefile.
3. Fetch Alice’s profile.
4. Verify that the profile is signed by alice.id’s key
5. Read the gaiaHubUrl (e.g. https://gaia.alice.org/) out of the profile
6. Fetch the file from https://gaia.alice.org/data.txt.
 
Because alice.id has access to her zonefile, she can change where her profile is stored. For example, she may do this if the current profile’s service or storage is compromised. To change where her profile is stored, she changes her Gaia hub URL to another Gaia hub URL from another hub provider. If Alice has sufficient compute and storage resources herself, she may run her own Gaia Storage System and bypass a commercial Gaia hub provider all together.
 
Note: Users with existing identities cannot yet migrate their data from one hub to another.

Applications writing directly on behalf of Alice do not need to perform a lookup. Instead, the Blockstack authentication flow provides Alice’s chosen application root URL to the application. This authentication flow is also within Alice’s control because Alice’s browser must generate the authentication response.
 
Understand data storage
 
A Gaia hub stores the written data exactly as given. It offers minimal guarantees about the data. It does not ensure that data is validly formatted, contains valid signatures, or is encrypted. Rather, the design philosophy is that these concerns are client-side concerns.

Client libraries (such as blockstack.js) are capable of providing these guarantees. Blockstack used a liberal definition of the end-to-end principle to guide this design decision.
 
 
 
 

 
 
94
Views

What problems does Blockstack solve for application developers?

Questionsblockstack app store replied • 2 users followed • 1 replies • 94 views • 2019-06-26 22:15 • data from similar tags

91
Views

What problems do Blockstack DApps solve for me as a user?

Questionsblockstack app store replied • 2 users followed • 1 replies • 91 views • 2019-06-26 22:11 • data from similar tags

95
Views

What is blockstack decentralized computing?

Experienceblockstack app store posted the article • 0 comments • 95 views • 2019-06-26 22:08 • data from similar tags

Decentralized computing has these attributes:
 
Personal keys for a digital life. Users will have keys that unlock all their software interactions, email, subscriptions, and social. These keys are in users’ hands and under their control similar to physical keys (in some cases they are physical). Corporations no longer create or manage these keys.
 
Security is a first-class concern. Users want systems that protect both their identity and the data associated with that identity — health, application, and relationships.
 
Convenient and auditable. Applications will be readily available as cloud applications are today but will be written with open protocols and code that allow them to be audited.
 
Innovation focused. The code and data in a decentralized computing lacks corporate and other boundaries, as a result, a global workforce can easily contribute and benefit from them.
 
 
Blockstack technology is a shift in how people use software, create it, and benefit from the internet. It puts people back in control of the computing systems that manage today’s world.
  view all
Decentralized computing has these attributes:
 
  • Personal keys for a digital life. Users will have keys that unlock all their software interactions, email, subscriptions, and social. These keys are in users’ hands and under their control similar to physical keys (in some cases they are physical). Corporations no longer create or manage these keys.

 
  • Security is a first-class concern. Users want systems that protect both their identity and the data associated with that identity — health, application, and relationships.

 
  • Convenient and auditable. Applications will be readily available as cloud applications are today but will be written with open protocols and code that allow them to be audited.

 
  • Innovation focused. The code and data in a decentralized computing lacks corporate and other boundaries, as a result, a global workforce can easily contribute and benefit from them.

 
 
Blockstack technology is a shift in how people use software, create it, and benefit from the internet. It puts people back in control of the computing systems that manage today’s world.
 
71
Views

The tutorial docs on how to run a Blockstack Core Node

Experienceblockstack app store posted the article • 0 comments • 71 views • 2019-06-26 22:06 • data from similar tags

Before doing anything, you should configure your Blockstack Core node.
 
$ blockstack-core configure
 It is safe to accept all defaults. It will generate some configuration state in ~/.blockstack-server/.
Because each Blockstack Core node maintains a full copy of the network state locally, it will need to synchronize its state with the Bitcoin blockchain when it starts for the first time. This can take days. To overcome this, we run some "fast-sync" servers that will serve a new Blockstack Core node a recent snapshot of the network state. Fast-sync only takes a few minutes.
To start up a Blockstack Core node from a snapshot, you should run
 
$ blockstack-core --debug fast_sync
 By default, it will pull a snapshot from http://fast-sync.blockstack.org/snapshot.bsk and use a built-in public key to verify its authenticity. It will populate your ~/.blockstack-server/ directory with a recent snapshot of the network state (less than 24 hours old).
To start your Blockstack Core node, you should run
 
$ blockstack-core --debug start
 
This will start a Blockstack Core node in the background. We recommend passing the --debug flag so you will receive verbose output, which will help diagnose any problems you may have.
 You can find the node's log in ~/.blockstack-server/blockstack-server.log.

  view all
Before doing anything, you should configure your Blockstack Core node.
 
$ blockstack-core configure

 It is safe to accept all defaults. It will generate some configuration state in ~/.blockstack-server/.
Because each Blockstack Core node maintains a full copy of the network state locally, it will need to synchronize its state with the Bitcoin blockchain when it starts for the first time. This can take days. To overcome this, we run some "fast-sync" servers that will serve a new Blockstack Core node a recent snapshot of the network state. Fast-sync only takes a few minutes.
To start up a Blockstack Core node from a snapshot, you should run
 
$ blockstack-core --debug fast_sync

 By default, it will pull a snapshot from http://fast-sync.blockstack.org/snapshot.bsk and use a built-in public key to verify its authenticity. It will populate your ~/.blockstack-server/ directory with a recent snapshot of the network state (less than 24 hours old).
To start your Blockstack Core node, you should run
 
$ blockstack-core --debug start

 
This will start a Blockstack Core node in the background. We recommend passing the --debug flag so you will receive verbose output, which will help diagnose any problems you may have.
 You can find the node's log in ~/.blockstack-server/blockstack-server.log.

 
109
Views

What is Blockstack?

Questionsblockstack app store replied • 2 users followed • 1 replies • 109 views • 2019-06-26 22:02 • data from similar tags

93
Views

What is Blockstack Core?

Questionsblockstack app store replied • 2 users followed • 1 replies • 93 views • 2019-06-26 22:01 • data from similar tags

129
Views

How to Install Blockstack Core on your local computer step by step

Experienceblockstack app store posted the article • 0 comments • 129 views • 2019-06-26 21:56 • data from similar tags

There are three supported methods to install Blockstack Core:
 
sourcepipdocker
 
Install from Source:
 Before installing Blockstack Core from source, you will need to install libffi-dev and libssl-dev. Mac and Linux users can usually grab these packages from their respective package managers.
Once these dependencies are installed, you can install Blockstack Core from source via the included setup.py script, as follows:
 
$ git clone https://github.com/blockstack/blockstack-core
$ cd blockstack-core
$ python2 ./setup.py build
$ sudo python2 ./setup.py install
 You can also use a virtualenv to install Blockstack Core in a non-system directory.
Install with pip:
 NOTE: Using pip is only supported for stable releases (i.e. master).
Blockstack is built against Python 2.7. You should use pip2 if you have it instead of pip. If you do not have pip2, you should verify that your pip is configured for Python 2.
 
On Mac:
 # Install blockstack
$ pip install blockstack --upgrade 
 
On CentOS 7 & RHEL:
 
# Install dependencies
$ yum install epel-release
$ yum install python-pip python-devel openssl-devel libffi-devel rng-tools gmp-devel zlib-devel

# Install blockstack
$ sudo pip install blockstack --upgrade
 
You will need to open ports TCP:6264 and TCP:6270. If you have trouble starting blockstack-core, you can try disabling SELinux and/or firewalld as follows:
 # Disable SELinux
$ setenforce 0
$ sed -i --follow-symlinks 's/^SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux && cat /etc/sysconfig/selinux# Stop firewalld
$ systemctl stop firewalld && systemctl disable firewalld 
 
On Debian & Ubuntu:
 # Install dependancies$ sudo apt-get update && sudo apt-get install -y python-pip python-dev libssl-dev libffi-dev rng-tools libgmp3-dev
$ sudo pip install pyparsing

# Install blockstack$ sudo pip install blockstack --upgrade
Install with docker:
 NOTE: Using docker is only supported for stable releases (i.e. master).
Another way to run blockstack-core is through docker. We provide per-commit image builds of this repository that are available on quay.io.
 
$ git clone [email protected]:blockstack/blockstack-core.git
$ cd blockstack-core
$ docker build -t blockstack-core:master . 
# create directory to store Blockstack Core state
 
$ export BLOCKSTACK_DIR="/var/blockstack-core-data"
$ mkdir -p "$BLOCKSTACK_DIR"
$ docker run \
-v $BLOCKSTACK_DIR:/root/.blockstack-server \
-p 6264:6264 \
-p 6270:6270 \
blockstack-core:master
 
 These commands will fast-sync and run a Blockstack Core node in about 10 minutes. The state for the Blockstack Core node will be stored to $BLOCKSTACK_DIR. You can see the node's logs with docker logs -f or with tail -f "$BLOCKSTACK_DIR/blockstack-server.log".
Notes:
* This method is currently only fully supported on Linux.
* You will need sudo access to run the above scripts, and/or be a member of the docker group.
* You can run more than one instance of this setup per host. Allow at least 1 CPU core for each container
* To configure a different bitcoind node, you must edit your blockstack-server.ini file before running the ./docker-tools.sh init-* commands. After init-* has been run you must edit the data/core/server/blockstack-server.ini to change those settings.

  view all
There are three supported methods to install Blockstack Core:
 
  • source
  • pip
  • docker

 
Install from Source:
 Before installing Blockstack Core from source, you will need to install libffi-dev and libssl-dev. Mac and Linux users can usually grab these packages from their respective package managers.
Once these dependencies are installed, you can install Blockstack Core from source via the included setup.py script, as follows:
 
$ git clone https://github.com/blockstack/blockstack-core
$ cd blockstack-core
$ python2 ./setup.py build
$ sudo python2 ./setup.py install

 You can also use a virtualenv to install Blockstack Core in a non-system directory.
Install with pip:
 NOTE: Using pip is only supported for stable releases (i.e. master).
Blockstack is built against Python 2.7. You should use pip2 if you have it instead of pip. If you do not have pip2, you should verify that your pip is configured for Python 2.
 
On Mac:
 
# Install blockstack
$ pip install blockstack --upgrade
 
 
On CentOS 7 & RHEL:
 
# Install dependencies
$ yum install epel-release
$ yum install python-pip python-devel openssl-devel libffi-devel rng-tools gmp-devel zlib-devel

# Install blockstack
$ sudo pip install blockstack --upgrade

 
You will need to open ports TCP:6264 and TCP:6270. If you have trouble starting blockstack-core, you can try disabling SELinux and/or firewalld as follows:
 
# Disable SELinux
$ setenforce 0
$ sed -i --follow-symlinks 's/^SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux && cat /etc/sysconfig/selinux
# Stop firewalld
$ systemctl stop firewalld && systemctl disable firewalld
 
 
On Debian & Ubuntu:
 # Install dependancies
$ sudo apt-get update && sudo apt-get install -y python-pip python-dev libssl-dev libffi-dev rng-tools libgmp3-dev
$ sudo pip install pyparsing


# Install blockstack
$ sudo pip install blockstack --upgrade

Install with docker:
 NOTE: Using docker is only supported for stable releases (i.e. master).
Another way to run blockstack-core is through docker. We provide per-commit image builds of this repository that are available on quay.io.
 
$ git clone [email protected]:blockstack/blockstack-core.git
$ cd blockstack-core
$ docker build -t blockstack-core:master .
 
# create directory to store Blockstack Core state
 
$ export BLOCKSTACK_DIR="/var/blockstack-core-data"
$ mkdir -p "$BLOCKSTACK_DIR"
$ docker run \
-v $BLOCKSTACK_DIR:/root/.blockstack-server \
-p 6264:6264 \
-p 6270:6270 \
blockstack-core:master

 
 These commands will fast-sync and run a Blockstack Core node in about 10 minutes. The state for the Blockstack Core node will be stored to $BLOCKSTACK_DIR. You can see the node's logs with docker logs -f or with tail -f "$BLOCKSTACK_DIR/blockstack-server.log".
Notes:
* This method is currently only fully supported on Linux.
* You will need sudo access to run the above scripts, and/or be a member of the docker group.
* You can run more than one instance of this setup per host. Allow at least 1 CPU core for each container
* To configure a different bitcoind node, you must edit your blockstack-server.ini file before running the ./docker-tools.sh init-* commands. After init-* has been run you must edit the data/core/server/blockstack-server.ini to change those settings.

 
94
Views

I have a error with the compilation about `Undefined symbols for architecture x86_64` But i don't know how to resolve it !

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 94 views • 2019-06-24 17:37 • data from similar tags

93
Views

Is there some resource that I can refer to about the type of things that will work without -O3 flag but will fail with it. Thanks

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 93 views • 2019-06-24 17:36 • data from similar tags

125
Views

How can I get better at debugging macros using gcc, clion and gdb?

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 125 views • 2019-06-24 17:33 • data from similar tags

84
Views

Anyone care to tell me what the difference is between the term `Time` and `CPU`?

QuestionsAlex replied • 2 users followed • 1 replies • 84 views • 2019-06-24 17:32 • data from similar tags

81
Views

I dont have any insight for how to make this work but how would a debugger implement this?

QuestionsBenny replied • 2 users followed • 1 replies • 81 views • 2019-06-24 17:30 • data from similar tags

84
Views

Anybody got decent LD_DEBUG chops? I've got a question related thereto

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 84 views • 2019-06-24 17:28 • data from similar tags

82
Views

Is there a way to export/force specific execution order of a process?

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 82 views • 2019-06-24 17:28 • data from similar tags

64
Views

Hi is there a way for me to make invalid read or writes to raise an exception?

QuestionsBrian replied • 2 users followed • 1 replies • 64 views • 2019-06-24 17:27 • data from similar tags

69
Views

I want to eventually do these automatically on coredumps and save the results in a database.

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 69 views • 2019-06-24 17:26 • data from similar tags

58
Views

How do you guys normally debug async methods in c++ applications?

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 58 views • 2019-06-24 17:25 • data from similar tags

61
Views

Is it that the "close handler" is called only from the destructor of `m_nextSocket` or `m_io_service` or something like that?

Reply

Questionsdacre posted a question • 1 users followed • 0 replies • 61 views • 2019-06-24 17:24 • data from similar tags

68
Views

please give me a hand to solve this problem

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 68 views • 2019-06-24 17:23 • data from similar tags

74
Views

Anyone got any good examples of how to do a nest dynamic formset w/o using JavaScript?

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 74 views • 2019-06-24 15:56 • data from similar tags

53
Views

does any body knows what is happened here when Django's Documentations explaining Templates and hardcore avoiding ?

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 53 views • 2019-06-24 15:55 • data from similar tags

59
Views

i try to migrate from django 1.8 to django 1.9 and i got an error with a test use django message

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 59 views • 2019-06-24 15:53 • data from similar tags

59
Views

I need some help with *integration* tests. Hope will get help here.

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 59 views • 2019-06-24 15:51 • data from similar tags

51
Views

Hi, Can anyone help me with the problem statement?

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 51 views • 2019-06-24 15:49 • data from similar tags

65
Views

Hi. I am facing problem in reading a csv file django.

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 65 views • 2019-06-24 15:48 • data from similar tags

55
Views

How can I access a DB field before the call to ‘to_python’?

Reply

QuestionsAnonymous posted a question • 1 users followed • 0 replies • 55 views • 2019-06-24 15:48 • data from similar tags

58
Views

Is it bad practice to use method calls after method calls example: array.filter().map().another_fn_call().yet_another_one() ?

Reply

Questionsdacre posted a question • 1 users followed • 0 replies • 58 views • 2019-06-24 15:47 • data from similar tags

52
Views

is there a way to log objects with the logger module vs logging strings?

QuestionsBrian replied • 2 users followed • 1 replies • 52 views • 2019-06-24 15:46 • data from similar tags