Re: Django field model for HTML parser?

2017-12-14 Thread Mike Dewhirst

On 15/12/2017 3:19 PM, drone4four wrote:
Thank you Mike for the help. I'll look into bleaching my HTML.  Great 
doc.


So it's easy but not recommended to enable all HTML.  I've got alotta 
custom legacy  code with dividers and elements with classes and such 
which I intend on trying to port over into Django.  Would enabling 
these aspects to me HTML pose as a security risk?


More about the security: I know JavaScript can be prone to errors and 
security risks, but HTML?  Hypothetically speaking, how might allowing 
all HTML by bleaching my code with this plugin be risky?


I'm not sure about all of them but the anchor tag could be particularly 
dodgy. SQL attacks are popular among a certain class of vandals when 
they discover they can submit nasty scripts in unbleached text fields. 
I'm just following what I believe are best practices recommended by 
experts in the field. I'm not the smartest one in the room. There will 
be others on this list who can agree or disagree.


IMO if you want users to be able to insert URLs in their text that is 
fine as bleached text because while  it cannot be turned into a 
clickable link, it can be copied and pasted into a browser. Django 
provides a URLField if you want users to have clickable links. They are 
probably easier to manage for security purposes  than embedded links in 
text.


BTW bleach defaults to swapping all angle-brackets to   and  
symbols except for known innocuous tags. They are listed in the docs. 
Django defaults to "bleaching" everything. mark_safe() on the other hand 
permits everything. Hence if you want to be selective about what you 
permit and what you don't, you need bleach plus mark_safe()




On Thursday, December 14, 2017 at 12:26:37 AM UTC-5, Mike Dewhirst wrote:

On 14/12/2017 4:00 PM, drone4four wrote:
> Hi fellow Djangoistas:
>
> I'm back.
>
> Thank you Atonis for your help.  I suppose I can leave the WYSIWYG
> editor static files for later when I have alittle more experience.
> For now though: how can I enable HTML markup to parse like it
should?
> The box where users on my Django website make a blog post, they can
> attach images, apply a timestamp but the content is just plain
text.
> How do I make it so that when I user for example enters this:
>
> |
> Lorem Ipsum
> Hello and welcome to my first blog post
> |
>
> ...that it posts and parses not as plain text but with the heading
> showing with a slightly larger font size than the rest and the
first
> sentence is bolded?

That is easy but dangerous. You need to permit only a subset of
markup.
In your views you need to bleach [1] the user entered data then
mark_safe() it. Bleach has a default set of html tags probably
including
 and  but you can add others. For all other tags it will
convert angle brackets into  and  thus disabling them.
Django's
mark_safe will deliver any real tags to the browser.

[1] https://pypi.python.org/pypi/bleach




>
> Thanks again.
>
> -Drone4four
>
> On Sunday, November 19, 2017 at 5:31:37 AM UTC-5, Antonis
Christofides
> wrote:
>
>     Hello,
>
>     First of all: If you are just starting to learn, and because
the
>     amount you have to learn can be overwhelming, I'd suggest to
not
>     care about the wysiwyg editor at this stage. Pretend that your
>     users can enter HTML in the field, and do all the rest.
After you
>     get some understanding of static files, only then come back to
>     this issue.
>
>     But to (prematurely) answer your question, if you have
DEBUG=True
>     and running django with manage.py runserver, you shouldn't
need to
>     care about STATIC_ROOT and STATIC_URL and collectstatic. Just
>     forget about them. When the time comes to deploy your
application
>     and turn DEBUG off, then you will need to understand how static
>     files work in production
>    

>.

>
>     Regards,
>
>     Antonis
>
>     Antonis Christofides
> http://djangodeployment.com
>
>
>     On 2017-11-19 01:38, drone4four wrote:
>>
>>     The official Django docs specify that STATIC_ROOT is
indicated in
>>     settings.py at the STATIC_URL variable (which is near the
>>     bottom).  The official Django docs says:
>>
>>         Configure your web server to serve the files in
STATIC_ROOT
>>        

>under

>>         the URL 

Re: Django field model for HTML parser?

2017-12-14 Thread drone4four
Thank you Mike for the help. I'll look into bleaching my HTML.  Great doc.

So it's easy but not recommended to enable all HTML.  I've got alotta 
custom legacy  code with dividers and elements with classes and such which 
I intend on trying to port over into Django.  Would enabling these aspects 
to me HTML pose as a security risk?  

More about the security: I know JavaScript can be prone to errors and 
security risks, but HTML?  Hypothetically speaking, how might allowing all 
HTML by bleaching my code with this plugin be risky?

On Thursday, December 14, 2017 at 12:26:37 AM UTC-5, Mike Dewhirst wrote:
>
> On 14/12/2017 4:00 PM, drone4four wrote: 
> > Hi fellow Djangoistas: 
> > 
> > I'm back. 
> > 
> > Thank you Atonis for your help.  I suppose I can leave the WYSIWYG 
> > editor static files for later when I have alittle more experience.  
> > For now though: how can I enable HTML markup to parse like it should?  
> > The box where users on my Django website make a blog post, they can 
> > attach images, apply a timestamp but the content is just plain text.  
> > How do I make it so that when I user for example enters this: 
> > 
> > | 
> > Lorem Ipsum 
> > Hello and welcome to my first blog post 
> > | 
> > 
> > ...that it posts and parses not as plain text but with the heading 
> > showing with a slightly larger font size than the rest and the first 
> > sentence is bolded? 
>
> That is easy but dangerous. You need to permit only a subset of markup. 
> In your views you need to bleach [1] the user entered data then 
> mark_safe() it. Bleach has a default set of html tags probably including 
>  and  but you can add others. For all other tags it will 
> convert angle brackets into  and  thus disabling them. Django's 
> mark_safe will deliver any real tags to the browser. 
>
> [1] https://pypi.python.org/pypi/bleach 
>
>
>
> > 
> > Thanks again. 
> > 
> > -Drone4four 
> > 
> > On Sunday, November 19, 2017 at 5:31:37 AM UTC-5, Antonis Christofides 
> > wrote: 
> > 
> > Hello, 
> > 
> > First of all: If you are just starting to learn, and because the 
> > amount you have to learn can be overwhelming, I'd suggest to not 
> > care about the wysiwyg editor at this stage. Pretend that your 
> > users can enter HTML in the field, and do all the rest. After you 
> > get some understanding of static files, only then come back to 
> > this issue. 
> > 
> > But to (prematurely) answer your question, if you have DEBUG=True 
> > and running django with manage.py runserver, you shouldn't need to 
> > care about STATIC_ROOT and STATIC_URL and collectstatic. Just 
> > forget about them. When the time comes to deploy your application 
> > and turn DEBUG off, then you will need to understand how static 
> > files work in production 
> > <
> https://djangodeployment.com/2016/11/21/how-django-static-files-work-in-production/>.
>  
>
> > 
> > Regards, 
> > 
> > Antonis 
> > 
> > Antonis Christofides 
> > http://djangodeployment.com 
> > 
> > 
> > On 2017-11-19 01:38, drone4four wrote: 
> >> 
> >> The official Django docs specify that STATIC_ROOT is indicated in 
> >> settings.py at the STATIC_URL variable (which is near the 
> >> bottom).  The official Django docs says: 
> >> 
> >> Configure your web server to serve the files in STATIC_ROOT 
> >> <
> https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-STATIC_ROOT>under
>  
>
> >> the URL STATIC_URL 
> >> <
> https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-STATIC_URL>. 
>
> >> 
> >> 
> >> (link 
> >> <
> https://docs.djangoproject.com/en/1.11/howto/static-files/deployment/>) 
> >> 
> >> 
> >> I’m not running Apache. My Django serving is running locally. The 
> >> absolute path in my file tree to my Django root directory is: 
> >> 
> >> 
> /home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/dobbs_portal_blog/
>  
>
> >> 
> >> Inside dobbs_portal_blog is where I placed the static folder. 
> >> Therefore, the line in my settings.py where I declare the 
> >> variable, I changed from the default: 
> >> 
> >> | 
> >> *STATIC_URL ='/static/'* 
> >> | 
> >> 
> >> to: 
> >> 
> >> *| 
> >> STATIC_URL 
> >> 
> ='/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/dobbs_portal_blog/static/'
>  
>
> >> |* 
> >> 
> >> That is my best guess at attempting resolve the “pretty obvious” 
> >> error message: 
> >> 
> >> You're using the staticfiles app without having set the 
> >> STATIC_ROOT setting to a filesystem path. 
> >> 
> >> 
> >> Yet I am still doing something wrong because invoking python3 
> >> dobbs_portal_blog/manage.py collectstatic, I still get the same 
> >> message: 
> >> 
> >> 
> >> $ python3 dobbs_portal_blog/manage.py collectstatic 
> >> You have requested to collect static files at 

Re: Django field model for HTML parser?

2017-12-13 Thread Mike Dewhirst

On 14/12/2017 4:00 PM, drone4four wrote:

Hi fellow Djangoistas:

I'm back.

Thank you Atonis for your help.  I suppose I can leave the WYSIWYG 
editor static files for later when I have alittle more experience.  
For now though: how can I enable HTML markup to parse like it should?  
The box where users on my Django website make a blog post, they can 
attach images, apply a timestamp but the content is just plain text.  
How do I make it so that when I user for example enters this:


|
Lorem Ipsum
Hello and welcome to my first blog post
|

...that it posts and parses not as plain text but with the heading 
showing with a slightly larger font size than the rest and the first 
sentence is bolded?


That is easy but dangerous. You need to permit only a subset of markup. 
In your views you need to bleach [1] the user entered data then 
mark_safe() it. Bleach has a default set of html tags probably including 
 and  but you can add others. For all other tags it will 
convert angle brackets into  and  thus disabling them. Django's 
mark_safe will deliver any real tags to the browser.


[1] https://pypi.python.org/pypi/bleach





Thanks again.

-Drone4four

On Sunday, November 19, 2017 at 5:31:37 AM UTC-5, Antonis Christofides 
wrote:


Hello,

First of all: If you are just starting to learn, and because the
amount you have to learn can be overwhelming, I'd suggest to not
care about the wysiwyg editor at this stage. Pretend that your
users can enter HTML in the field, and do all the rest. After you
get some understanding of static files, only then come back to
this issue.

But to (prematurely) answer your question, if you have DEBUG=True
and running django with manage.py runserver, you shouldn't need to
care about STATIC_ROOT and STATIC_URL and collectstatic. Just
forget about them. When the time comes to deploy your application
and turn DEBUG off, then you will need to understand how static
files work in production

.

Regards,

Antonis

Antonis Christofides
http://djangodeployment.com


On 2017-11-19 01:38, drone4four wrote:


The official Django docs specify that STATIC_ROOT is indicated in
settings.py at the STATIC_URL variable (which is near the
bottom).  The official Django docs says:

Configure your web server to serve the files in STATIC_ROOT

under
the URL STATIC_URL

.


(link
)


I’m not running Apache. My Django serving is running locally. The
absolute path in my file tree to my Django root directory is:


/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/dobbs_portal_blog/

Inside dobbs_portal_blog is where I placed the static folder.
Therefore, the line in my settings.py where I declare the
variable, I changed from the default:

|
*STATIC_URL ='/static/'*
|

to:

*|
STATIC_URL

='/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/dobbs_portal_blog/static/'
|*

That is my best guess at attempting resolve the “pretty obvious”
error message:

You're using the staticfiles app without having set the
STATIC_ROOT setting to a filesystem path.


Yet I am still doing something wrong because invoking python3
dobbs_portal_blog/manage.py collectstatic, I still get the same
message:


$ python3 dobbs_portal_blog/manage.py collectstatic
You have requested to collect static files at the destination
location as specified in your settings.
This will overwrite existing files! Are you sure you want to
do this?
Type 'yes' to continue, or 'no' to cancel: yes Traceback
(most recent call last):  File "dobbs_portal_blog/manage.py",
line 22, in     execute_from_command_line(sys.argv)
 File

"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
line 364, in execute_from_command_line    utility.execute()
 File

"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
line 356, in execute
   self.fetch_command(subcommand).run_from_argv(self.argv)
 File

"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
line 283, in run_from_argv    self.execute(*args,
**cmd_options)  File


Re: Django field model for HTML parser?

2017-12-13 Thread drone4four
Hi fellow Djangoistas: 

I'm back.  

Thank you Atonis for your help.  I suppose I can leave the WYSIWYG editor 
static files for later when I have alittle more experience.  For now 
though: how can I enable HTML markup to parse like it should?  The box 
where users on my Django website make a blog post, they can attach images, 
apply a timestamp but the content is just plain text.  How do I make it so 
that when I user for example enters this:

Lorem Ipsum
Hello and welcome to my first blog post

...that it posts and parses not as plain text but with the heading showing 
with a slightly larger font size than the rest and the first sentence is 
bolded?

Thanks again.

-Drone4four  

On Sunday, November 19, 2017 at 5:31:37 AM UTC-5, Antonis Christofides 
wrote:
>
> Hello,
>
> First of all: If you are just starting to learn, and because the amount 
> you have to learn can be overwhelming, I'd suggest to not care about the 
> wysiwyg editor at this stage. Pretend that your users can enter HTML in the 
> field, and do all the rest. After you get some understanding of static 
> files, only then come back to this issue.
>
> But to (prematurely) answer your question, if you have DEBUG=True and 
> running django with manage.py runserver, you shouldn't need to care about 
> STATIC_ROOT and STATIC_URL and collectstatic. Just forget about them. When 
> the time comes to deploy your application and turn DEBUG off, then you will 
> need to understand how static files work in production 
> 
> .
>
> Regards,
>
> Antonis
>
> Antonis Christofideshttp://djangodeployment.com
>
>
> On 2017-11-19 01:38, drone4four wrote:
>
> The official Django docs specify that STATIC_ROOT is indicated in 
> settings.py at the STATIC_URL variable (which is near the bottom).  The 
> official Django docs says:
>
> Configure your web server to serve the files in STATIC_ROOT 
>> 
>>  
>> under the URL STATIC_URL 
>> .
>>  
>>  
>
> (link 
> )
>
> I’m not running Apache. My Django serving is running locally. The absolute 
> path in my file tree to my Django root directory is:
>
>
> /home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/dobbs_portal_blog/
>
> Inside dobbs_portal_blog is where I placed the static folder. Therefore, 
> the line in my settings.py where I declare the variable, I changed from the 
> default:
>
> *STATIC_URL = '/static/'* 
>
> to: 
>
> *STATIC_URL = 
> '/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/dobbs_portal_blog/static/'*
>
> That is my best guess at attempting resolve the “pretty obvious” error 
> message:
>
> You're using the staticfiles app without having set the STATIC_ROOT 
>> setting to a filesystem path.
>
>
> Yet I am still doing something wrong because invoking python3 
> dobbs_portal_blog/manage.py collectstatic, I still get the same message:
>
> $ python3 dobbs_portal_blog/manage.py collectstatic
>> You have requested to collect static files at the destination location 
>> as specified in your settings.
>> This will overwrite existing files! Are you sure you want to do this?
>> Type 'yes' to continue, or 'no' to cancel: yes Traceback (most recent 
>> call last):  File "dobbs_portal_blog/manage.py", line 22, in 
>> execute_from_command_line(sys.argv) 
>>  File 
>> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
>>  
>> line 364, in execute_from_command_lineutility.execute()  File 
>> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
>>  
>> line 356, in execute
>> self.fetch_command(subcommand).run_from_argv(self.argv) 
>>  File 
>> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
>>  
>> line 283, in run_from_argvself.execute(*args, **cmd_options)  File 
>> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
>>  
>> line 330, in executeoutput = self.handle(*args, **options)  File 
>> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
>>  
>> line 199, in handlecollected = self.collect()  File 
>> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
>>  
>> line 124, in collecthandler(path, prefixed_path, 

Re: Django field model for HTML parser?

2017-11-19 Thread Antonis Christofides
Hello,

First of all: If you are just starting to learn, and because the amount you have
to learn can be overwhelming, I'd suggest to not care about the wysiwyg editor
at this stage. Pretend that your users can enter HTML in the field, and do all
the rest. After you get some understanding of static files, only then come back
to this issue.

But to (prematurely) answer your question, if you have DEBUG=True and running
django with manage.py runserver, you shouldn't need to care about STATIC_ROOT
and STATIC_URL and collectstatic. Just forget about them. When the time comes to
deploy your application and turn DEBUG off, then you will need to understand how
static files work in production
.

Regards,

Antonis

Antonis Christofides
http://djangodeployment.com


On 2017-11-19 01:38, drone4four wrote:
>
> The official Django docs specify that STATIC_ROOT is indicated in settings.py
> at the STATIC_URL variable (which is near the bottom).  The official Django
> docs says:
>
> Configure your web server to serve the files in STATIC_ROOT
> 
> under
> the URL STATIC_URL
> 
> .
>  
>
> (link )
>
>
> I’m not running Apache. My Django serving is running locally. The absolute
> path in my file tree to my Django root directory is:
>
> /home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/dobbs_portal_blog/
>
> Inside dobbs_portal_blog is where I placed the static folder. Therefore, the
> line in my settings.py where I declare the variable, I changed from the 
> default:
>
> |
> *STATIC_URL ='/static/'*
> |
>
> to:
>
> *|
> STATIC_URL
> ='/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/dobbs_portal_blog/static/'
> |*
>
> That is my best guess at attempting resolve the “pretty obvious” error 
> message:
>
> You're using the staticfiles app without having set the STATIC_ROOT
> setting to a filesystem path.
>
>
> Yet I am still doing something wrong because invoking python3
> dobbs_portal_blog/manage.py collectstatic, I still get the same message:
>
>
> $ python3 dobbs_portal_blog/manage.py collectstatic
> You have requested to collect static files at the destination location as
> specified in your settings.
> This will overwrite existing files! Are you sure you want to do this?
> Type 'yes' to continue, or 'no' to cancel: yes Traceback (most recent call
> last):  File "dobbs_portal_blog/manage.py", line 22, in 
>    execute_from_command_line(sys.argv)  File
> 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
> line 364, in execute_from_command_line    utility.execute()  File
> 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
> line 356, in execute
>    self.fetch_command(subcommand).run_from_argv(self.argv)  File
> 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
> line 283, in run_from_argv    self.execute(*args, **cmd_options)  File
> 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
> line 330, in execute    output = self.handle(*args, **options)  File
> 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
> line 199, in handle    collected = self.collect()  File
> 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
> line 124, in collect    handler(path, prefixed_path, storage)  File
> 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
> line 354, in copy_file    if not self.delete_file(path, prefixed_path,
> source_storage):  File
> 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
> line 260, in delete_file    if self.storage.exists(prefixed_path):  File
> 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/files/storage.py",
> line 392, in exists    return 

Re: Django field model for HTML parser?

2017-11-18 Thread drone4four


The official Django docs specify that STATIC_ROOT is indicated in 
settings.py at the STATIC_URL variable (which is near the bottom).  The 
official Django docs says:


Configure your web server to serve the files in STATIC_ROOT 
> 
>  
> under the URL STATIC_URL 
> .
>  
>  

(link 
)

I’m not running Apache. My Django serving is running locally. The absolute 
path in my file tree to my Django root directory is:

/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/dobbs_portal_blog/

Inside dobbs_portal_blog is where I placed the static folder. Therefore, 
the line in my settings.py where I declare the variable, I changed from the 
default:


*STATIC_URL = '/static/'* 

to: 


*STATIC_URL = 
'/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/dobbs_portal_blog/static/'*


That is my best guess at attempting resolve the “pretty obvious” error 
message:


You're using the staticfiles app without having set the STATIC_ROOT setting 
> to a filesystem path.


Yet I am still doing something wrong because invoking python3 
dobbs_portal_blog/manage.py collectstatic, I still get the same message:

$ python3 dobbs_portal_blog/manage.py collectstatic
> You have requested to collect static files at the destination
> location as specified in your settings.
> This will overwrite existing files!
> Are you sure you want to do this?
> Type 'yes' to continue, or 'no' to cancel: yes
> Traceback (most recent call last):
>  File "dobbs_portal_blog/manage.py", line 22, in 
>execute_from_command_line(sys.argv)
>  File 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
>  
> line 364, in execute_from_command_line
>utility.execute()
>  File 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
>  
> line 356, in execute
>self.fetch_command(subcommand).run_from_argv(self.argv)
>  File 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
>  
> line 283, in run_from_argv
>self.execute(*args, **cmd_options)
>  File 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
>  
> line 330, in execute
>output = self.handle(*args, **options)
>  File 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
>  
> line 199, in handle
>collected = self.collect()
>  File 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
>  
> line 124, in collect
>handler(path, prefixed_path, storage)
>  File 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
>  
> line 354, in copy_file
>if not self.delete_file(path, prefixed_path, source_storage):
>  File 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
>  
> line 260, in delete_file
>if self.storage.exists(prefixed_path):
>  File 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/files/storage.py",
>  
> line 392, in exists
>return os.path.exists(self.path(name))
>  File 
> "/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/storage.py",
>  
> line 50, in path
>raise ImproperlyConfigured("You're using the staticfiles app "
> django.core.exceptions.ImproperlyConfigured: You're using the staticfiles 
> app without having set the STATIC_ROOT setting to a filesystem path.


Thanks for your attention and thank you Simon for your patience.


On Saturday, November 18, 2017 at 3:54:11 PM UTC-5, Simon Connah wrote:
>
> The error message is pretty obvious.
>
> "You're using the staticfiles app without having set the STATIC_ROOT 
> setting to a filesystem path."
>
> Set the STATIC_ROOT setting in settings.py.
>
> https://docs.djangoproject.com/en/1.11/ref/settings/#static-root
>
> On Saturday, 18 November 2017, 20:12:52 GMT, drone4four <
> drone...@gmail.com > wrote: 
>
>
> Thank you, Jason.  The WYSIWYG editor like ckeditor is precisely what I am 
> looking for.  
>
> 

Re: Django field model for HTML parser?

2017-11-18 Thread 'Simon Connah' via Django users
 The error message is pretty obvious.
"You're using the staticfiles app without having set the STATIC_ROOT setting to 
a filesystem path."

Set the STATIC_ROOT setting in settings.py.
https://docs.djangoproject.com/en/1.11/ref/settings/#static-root

On Saturday, 18 November 2017, 20:12:52 GMT, drone4four 
 wrote:  
 
 
Thank you, Jason.  The WYSIWYG editor like ckeditor is precisely what I am 
looking for.  


I have set out to run ckeditor.  I am following along with the instructions on 
how to install it.


Inside my virtual environment I invoke pip install django-ckeditor.


Then I add ckeditor to INSTALLED_APPS in settings.py.


But then my shell is telling me that I have improperly configured static root 
in the files app even though my settings.py does include a line: STATIC_URL = 
'/static/'




The installation doc linked to above does refer to the official Django doc on 
how to manage static files, which I find to be helpful but isn’t really very 
applicable to my particular situation because I do not have any image files 
that I am working with in my case at this point.


When I run python3 dobbs_portal_blog/manage.py collectstatic, I get this error:


$ python3 dobbs_portal_blog/manage.py collectstatic


You have requested to collect static files at the destination

location as specified in your settings.


This will overwrite existing files!

Are you sure you want to do this?


Type 'yes' to continue, or 'no' to cancel: yes

Traceback (most recent call last):

  File "dobbs_portal_blog/manage.py", line 22, in 

    execute_from_command_line(sys.argv)

  File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
 line 364, in execute_from_command_line

    utility.execute()

  File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
 line 356, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
 line 283, in run_from_argv

    self.execute(*args, **cmd_options)

  File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
 line 330, in execute

    output = self.handle(*args, **options)

  File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
 line 199, in handle

    collected = self.collect()

  File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
 line 124, in collect

    handler(path, prefixed_path, storage)

  File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
 line 354, in copy_file

    if not self.delete_file(path, prefixed_path, source_storage):

  File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
 line 260, in delete_file

    if self.storage.exists(prefixed_path):

  File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/files/storage.py",
 line 392, in exists

    return os.path.exists(self.path(name))

  File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/storage.py",
 line 50, in path

    raise ImproperlyConfigured("You're using the staticfiles app "

django.core.exceptions.ImproperlyConfigured: You're using the staticfiles app 
without having set the STATIC_ROOT setting to a filesystem path.

(subgenius-blog-env) gnull at gnosis in 

$


On Saturday, November 18, 2017 at 7:46:21 AM UTC-5, Jason wrote:
What you're trying to look for is a WYSIWYG editor (What You See Is What You 
Get), and there are a number of third party packages you can look at 
https://djangopackages.org/ grids/g/wysiwyg/
ckeditor is one of the largest and most popular such projects, and has 
integration with django via https://github.com/django- ckeditor/django-ckeditor

On Friday, November 17, 2017 at 9:21:57 PM UTC-5, drone4four wrote:

I didn’t do a very good job explaining.  Let me try again.


If you take a look at this image of Blogger, the red arrow points to the 
formatting bar.  The formatting is a helpful feature in Blogger which allows 
blog posters to add an essay worth of content, and then alter the appearance of 
the Lorem 

Re: Django field model for HTML parser?

2017-11-18 Thread drone4four


Thank you, Jason.  The WYSIWYG editor like ckeditor is precisely what I am 
looking for.  

I have set out to run ckeditor.  I am following along with the instructions 
on how to install it 
.

Inside my virtual environment I invoke pip install django-ckeditor.

Then I add ckeditor to INSTALLED_APPS in settings.py.

But then my shell is telling me that I have improperly configured static 
root in the files app even though my settings.py does include a line: 
STATIC_URL = '/static/'


The installation doc linked to above does refer to the official Django doc 
on how to manage static files 
, which I find 
to be helpful but isn’t really very applicable to my particular situation 
because I do not have any image files that I am working with in my case at 
this point.

When I run python3 dobbs_portal_blog/manage.py collectstatic, I get this 
error:

$ python3 dobbs_portal_blog/manage.py collectstatic

You have requested to collect static files at the destination

location as specified in your settings.

This will overwrite existing files!

Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel: yes

Traceback (most recent call last):

 File "dobbs_portal_blog/manage.py", line 22, in 

   execute_from_command_line(sys.argv)

 File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
 
line 364, in execute_from_command_line

   utility.execute()

 File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/__init__.py",
 
line 356, in execute

   self.fetch_command(subcommand).run_from_argv(self.argv)

 File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
 
line 283, in run_from_argv

   self.execute(*args, **cmd_options)

 File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/management/base.py",
 
line 330, in execute

   output = self.handle(*args, **options)

 File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
 
line 199, in handle

   collected = self.collect()

 File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
 
line 124, in collect

   handler(path, prefixed_path, storage)

 File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
 
line 354, in copy_file

   if not self.delete_file(path, prefixed_path, source_storage):

 File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
 
line 260, in delete_file

   if self.storage.exists(prefixed_path):

 File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/core/files/storage.py",
 
line 392, in exists

   return os.path.exists(self.path(name))

 File 
"/home/gnull/Dropbox/TECH/python/2017/django-experiment-with-nick/subgenius-blog-env/lib/python3.6/site-packages/django/contrib/staticfiles/storage.py",
 
line 50, in path

   raise ImproperlyConfigured("You're using the staticfiles app "

django.core.exceptions.ImproperlyConfigured: You're using the staticfiles 
app without having set the STATIC_ROOT setting to a filesystem path.

(subgenius-blog-env) gnull at gnosis in 

$


On Saturday, November 18, 2017 at 7:46:21 AM UTC-5, Jason wrote:
>
> What you're trying to look for is a WYSIWYG editor (What You See Is What 
> You Get), and there are a number of third party packages you can look at 
> https://djangopackages.org/grids/g/wysiwyg/
>
> ckeditor is one of the largest and most popular such projects, and has 
> integration with django via 
> https://github.com/django-ckeditor/django-ckeditor
>
>
> On Friday, November 17, 2017 at 9:21:57 PM UTC-5, drone4four wrote:
>>
>> I didn’t do a very good job explaining.  Let me try again.
>>
>> If you take a look at this image of Blogger, the red arrow points to the 
>> formatting bar .  The formatting is a helpful 
>> feature in Blogger which allows blog posters to add an essay worth of 
>> content, and then alter the appearance of the Lorem Ipsum essay content 
>> with bold, italics, underline and a few dozen other buttons and options.
>>
>> Then when you click the HTML button  in the 

Re: Django field model for HTML parser?

2017-11-18 Thread Jason
What you're trying to look for is a WYSIWYG editor (What You See Is What 
You Get), and there are a number of third party packages you can look at 
https://djangopackages.org/grids/g/wysiwyg/

ckeditor is one of the largest and most popular such projects, and has 
integration with django via 
https://github.com/django-ckeditor/django-ckeditor


On Friday, November 17, 2017 at 9:21:57 PM UTC-5, drone4four wrote:
>
> I didn’t do a very good job explaining.  Let me try again.
>
> If you take a look at this image of Blogger, the red arrow points to the 
> formatting bar .  The formatting is a helpful 
> feature in Blogger which allows blog posters to add an essay worth of 
> content, and then alter the appearance of the Lorem Ipsum essay content 
> with bold, italics, underline and a few dozen other buttons and options.
>
> Then when you click the HTML button  in the 
> Blogger dashboard, it shows you the same Lorem Ipsum content, but just the 
> raw HTML source.
>
> My Django admin panel when creating a new blog post just accepts plain 
> text.  No HTML markup formatting.  Here is a pic of my Django dashboard with 
> a red arrow pointing to where I am hoping to add an HTML formatting bar 
> . Or does Django not have an HTML formatting 
> menu feature helping blog contributors to format their content?  I can’t 
> find it in the model field type / option doc that I linked to in my 
> original post.
>
> Thank you.
>
> On Wednesday, November 15, 2017 at 10:41:31 PM UTC-5, Amitesh Sahay wrote:
>>
>> The HTML file in Django is parsed through views.py if that is what you 
>> are looking for. For Italics  tag should work. For strong text, you may 
>> use  tag. I hope that I have understood your question correctly.
>>
>> Hello,
>>
>> Regards,
>> Amitesh Sahay
>>
>> primary :: *91-907 529 6235*
>>
>>
>> On Thursday 16 November 2017, 6:51:03 AM IST, drone4four <
>> drone...@gmail.com> wrote: 
>>
>>
>> The contents of my models.py looks like this:
>>
>> from django.db import models
>>
>>
>> # Create your models here.
>> class Post(models.Model):
>> title = models.CharField(max_length=256)
>> pub_date = models.DateTimeField()
>> image = models.ImageField(upload_to='media/')
>> body = models.TextField()
>>
>>
>> def __str__(self):
>> return self.title
>>
>>
>> def pub_date_pretty(self):
>> return self.pub_date.strftime('%A %d %B %Y @ %-I:%M:%S %p')
>>
>>
>> def summary(self):
>> return self.body[:350]
>>
>> Lines 5 through 8 initiate the model class variables for my blog 
>> dashboard. My dashboard looks like this . 
>> There is a title, pub date, image and body. The Udemy instructor suggests 
>> consulting the official Django doc for field types/options 
>> . I’m not 
>> sure I really understand most of it. There is just so much information 
>> there. My question for all of you: Which field option or field type 
>> initiates an HTML parser for body text? I mean, when I go to to create a 
>> new blog post, how do I create rich text with HTML formatting buttons like 
>> bold, underline and italics? It’s not really the buttons I care about. I 
>> just want my HTML tags to parse. Take note of the HTML tags I’ve circled 
>> in red here . How do I get the h5, hr and em 
>> to parse? Is there a field option/type for this? I don’t see it in the 
>> models fields doc.
>>
>> Thanks for your attention.
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to django-users...@googlegroups.com.
>> To post to this group, send email to django...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/django-users.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/django-users/d387add4-9859-4410-a882-cf98ee3a6278%40googlegroups.com
>>  
>> 
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/47c53bda-e2ab-40e1-8b1e-ee6eeb2e5316%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Django field model for HTML parser?

2017-11-17 Thread drone4four


I didn’t do a very good job explaining.  Let me try again.

If you take a look at this image of Blogger, the red arrow points to the 
formatting bar .  The formatting is a helpful 
feature in Blogger which allows blog posters to add an essay worth of 
content, and then alter the appearance of the Lorem Ipsum essay content 
with bold, italics, underline and a few dozen other buttons and options.

Then when you click the HTML button  in the 
Blogger dashboard, it shows you the same Lorem Ipsum content, but just the 
raw HTML source.

My Django admin panel when creating a new blog post just accepts plain 
text.  No HTML markup formatting.  Here is a pic of my Django dashboard with 
a red arrow pointing to where I am hoping to add an HTML formatting bar 
. Or does Django not have an HTML formatting 
menu feature helping blog contributors to format their content?  I can’t 
find it in the model field type / option doc that I linked to in my 
original post.

Thank you.

On Wednesday, November 15, 2017 at 10:41:31 PM UTC-5, Amitesh Sahay wrote:
>
> The HTML file in Django is parsed through views.py if that is what you are 
> looking for. For Italics  tag should work. For strong text, you may use 
>  tag. I hope that I have understood your question correctly.
>
> Hello,
>
> Regards,
> Amitesh Sahay
>
> primary :: *91-907 529 6235*
>
>
> On Thursday 16 November 2017, 6:51:03 AM IST, drone4four <
> drone...@gmail.com > wrote: 
>
>
> The contents of my models.py looks like this:
>
> from django.db import models
>
>
> # Create your models here.
> class Post(models.Model):
> title = models.CharField(max_length=256)
> pub_date = models.DateTimeField()
> image = models.ImageField(upload_to='media/')
> body = models.TextField()
>
>
> def __str__(self):
> return self.title
>
>
> def pub_date_pretty(self):
> return self.pub_date.strftime('%A %d %B %Y @ %-I:%M:%S %p')
>
>
> def summary(self):
> return self.body[:350]
>
> Lines 5 through 8 initiate the model class variables for my blog 
> dashboard. My dashboard looks like this . 
> There is a title, pub date, image and body. The Udemy instructor suggests 
> consulting the official Django doc for field types/options 
> . I’m not sure 
> I really understand most of it. There is just so much information there. My 
> question for all of you: Which field option or field type initiates an HTML 
> parser for body text? I mean, when I go to to create a new blog post, how 
> do I create rich text with HTML formatting buttons like bold, underline and 
> italics? It’s not really the buttons I care about. I just want my HTML tags 
> to parse. Take note of the HTML tags I’ve circled in red here 
> . How do I get the h5, hr and em to parse? Is 
> there a field option/type for this? I don’t see it in the models fields doc.
>
> Thanks for your attention.
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to django-users...@googlegroups.com .
> To post to this group, send email to django...@googlegroups.com 
> .
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-users/d387add4-9859-4410-a882-cf98ee3a6278%40googlegroups.com
>  
> 
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/b7d066e4-0cdf-46af-aa56-47a211611c67%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Django field model for HTML parser?

2017-11-15 Thread 'Amitesh Sahay' via Django users
The HTML file in Django is parsed through views.py if that is what you are 
looking for. For Italics  tag should work. For strong text, you may use 
 tag. I hope that I have understood your question correctly.


Hello,
Regards,Amitesh Sahay


primary :: 91-907 529 6235
 

On Thursday 16 November 2017, 6:51:03 AM IST, drone4four 
 wrote:  
 
 The contents of my models.py looks like this:
from django.db import models


# Create your models here.
class Post(models.Model):
        title = models.CharField(max_length=256)
        pub_date = models.DateTimeField()
        image = models.ImageField(upload_to='media/')
        body = models.TextField()


        def __str__(self):
            return self.title


        def pub_date_pretty(self):
            return self.pub_date.strftime('%A %d %B %Y @ %-I:%M:%S %p')


        def summary(self):
            return self.body[:350]
Lines 5 through 8 initiate the model class variables for my blog dashboard. My 
dashboard looks like this. There is a title, pub date, image and body. The 
Udemy instructor suggests consulting the official Django doc for field 
types/options. I’m not sure I really understand most of it. There is just so 
much information there. My question for all of you: Which field option or field 
type initiates an HTML parser for body text? I mean, when I go to to create a 
new blog post, how do I create rich text with HTML formatting buttons like 
bold, underline and italics? It’s not really the buttons I care about. I just 
want my HTML tags to parse. Take note of the HTML tags I’ve circled in red 
here. How do I get the h5, hr and em to parse? Is there a field option/type for 
this? I don’t see it in the models fields doc.
Thanks for your attention.


-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/d387add4-9859-4410-a882-cf98ee3a6278%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
  

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/912661992.858881.1510803633610%40mail.yahoo.com.
For more options, visit https://groups.google.com/d/optout.


Django field model for HTML parser?

2017-11-15 Thread drone4four
The contents of my models.py looks like this:

from django.db import models


# Create your models here.
class Post(models.Model):
title = models.CharField(max_length=256)
pub_date = models.DateTimeField()
image = models.ImageField(upload_to='media/')
body = models.TextField()


def __str__(self):
return self.title


def pub_date_pretty(self):
return self.pub_date.strftime('%A %d %B %Y @ %-I:%M:%S %p')


def summary(self):
return self.body[:350]

Lines 5 through 8 initiate the model class variables for my blog dashboard. 
My dashboard looks like this . There is a title, 
pub date, image and body. The Udemy instructor suggests consulting the 
official Django doc for field types/options 
. I’m not sure I 
really understand most of it. There is just so much information there. My 
question for all of you: Which field option or field type initiates an HTML 
parser for body text? I mean, when I go to to create a new blog post, how 
do I create rich text with HTML formatting buttons like bold, underline and 
italics? It’s not really the buttons I care about. I just want my HTML tags 
to parse. Take note of the HTML tags I’ve circled in red here 
. How do I get the h5, hr and em to parse? Is 
there a field option/type for this? I don’t see it in the models fields doc.

Thanks for your attention.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/d387add4-9859-4410-a882-cf98ee3a6278%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.